1. Field of Invention
This invention relates to a community office switching system in which the uppermost element of its common control hierarchy is a stored program processor. More particularly, it relates to the portions of such a system involved in the sensing and transmitting of supervisory events.
2. Description of the Prior Art
U.S. patent application Ser. No. 924,882 filed on July 14, 1978 by Barrie Brightman, et al., entitled "Arrangement of Interactive Processors for Performing Timing Analyses of Port Events," (abandoned), and superseded by two continuation cases consisting of patent application Ser. No. 63,601 filed Aug. 2, 1979 (abandoned), and patent application Ser. No. 275,072, filed June 18, 1981, discloses a central office switching system that is essentially identical to the present system in many respects. Both the prior system and the present system share a common arrangement of port group units and switching matrix elements and, except in a few details, that system and the present system share a common stored-program call control processor that establishes paths between ports through the switching matrix. The two systems differ in the way they extract port supervisory signals from their respective matrix elements, analyze those signals, communicate the occurrence of significant port events to the call control processor, and transmit control signals back to the individual ports.
More specifically, the prior-art arrangement disclosed in the application Ser. No. 924,882 demultiplexes incoming supervisory signals flowing from the matrix network and stores them in a port data store. A series of hardware logic devices constituting a "combinatorial logic" then cyclically scan the port data store, sampling the sense signals from each port once every four milliseconds. Each time the sense signals from a port are scanned, one of the series of logic devices within the combinatorial logic is selected, depending upon the state of the port, to test the status of the sense signals and to take whatever action is appropriate. The logic devices include a "sense supervisory event/transmit supervisory event" logic unit, a "ring line" logic unit, and "receive digits" logic unit, and a "receive and send digits" logic unit. The "combinatorial logic" that monitors the individual ports is thus a series of nonprogrammable, hard-wired, dedicated logic units each dedicated to a particular function. Because these logic units are not controlled by a sequential processor, they are able to perform parallel operations internally, and they are not slowed down by the need to access stored instructions. They can service all of 1,920 individual ports in four milliseconds, dedicating only about two microseconds to each port during each scanning cycle.
The "combinatorial logic" just described has proved satisfactory in actual service, but this approach to the design of a community office has a number of drawbacks.
In the first place, utilizing a hard-wired logic for this function means that changes in the way individual ports are monitored can only be implemented through hardware modifications involving the redesign of circuit boards and the selection of new logic gates. Accordingly, it is costly to redesign the combinatorial logic for use in telephony systems having different line protocols, and it is also costly to redesign the combinatorial logic to reflect changes in line protocol. Secondly, the four-millisecond port sampling rate, which is necessary to resolve properly rapid fluctuations in the incoming port signals, forces a two-microsecond time limit on the time the combinatorial logic can spend during each four-millisecond time interval with each individual port. Two microseconds is barely long enough to allow rapid, hard-wired-logic processing, and it is far too brief an interval to allow program-controlled processing of the port signals. Even using hard-wired logic, it is difficult to perform some functions in two microseconds, and functions requiring more processing time must be shifted to the programmable call control processor.
One possible solution to the above problems would be to substitute a program-controlled microprocessor for the combinatorial logic, "time-sharing" the microprocessor between the 1,920 ports. Such a substitution would make it simple to reprogram to reflect changes in protocol, since reprogramming would then require only the substitution of a new program for the old one. But program-controlled microprocessors cannot function as fast as can hard-wired logic circuits due to their inability to perform operations in parallel and due to the time that is lost accessing instructions. Additionally, a conventional "time-shared" processor would require several microseconds to transfer from the instruction sequence and data values for one port to the instruction sequence and data values for another port, and this loss of time, spread over 1,920 ports, would amount to several milliseconds of lost time. The use of conventional microprocessors as direct replacements for the combinatorial logic would thus render the system unable to examine each port every four microseconds and unable to handle extremely rapid fluctuations of the port signals. Such microprocessors would necessarily have to operate in an "interrupt" mode, where port events triggered "interrupts" that are serviced sequentially, and then the microprocessors could not respond promptly to large numbers of simultaneous port events. Alternatively, the number of ports serviced by each microprocessor would have to be substantially reduced to well under the 1,920 signals the combinatorial logic can handle, but then many microprocessors would be required to replace each combinatorial logic unit, and the cost and complexity of the community office system would increase substantially.
Even assuming microprocessors could be substituted for the combinatorial logic, creating suitable software for conventional microprocessors operating in a "time-sharing" mode would be difficult, for different ports at different times would require differing amounts of program-execution time. Accordingly, the programs would be executed at irratic times, and program timing functions would have to make frequent reference to external clocks. Alternatively, the programming could perform a sequential series of different functions for all the ports being serviced, as is explained beginning on page 1042 of an article entitled "Peripheral Systems" by Huttenhoff, et al, (56 BELL SYSTEM TECHNICAL J. 1029, 1042 (No. 7, Sept. 1977), but the programs would then be complicated by the need to service many ports, rather than just one, for each function. On page 1045, Huttenhoff notes that his signal processor organization is "similar to that of a stored program processor." But to achieve the necessary 10-millisecond resolution, Huttenhoff had to resort to "wired logic" rather than a programmed computer (page 1042). Accordingly, using a conventional timesharing system or a conventional software multi-port scanning system, the complexity of the needed software is such that only a minimal number of ports could be serviced by each processor, and the cost of generating special software for special applications, such as to satisfy the protocol conventions in a variety of foreign countries, would be excessive.
Accordingly, a primary object of the present invention is to provide a programmable sense and control signal preprocessor for a central office switching system capable of servicing a large number of ports with adequate speed so that no port events ever go undetected using greatly simplified software that is easy to produce and easy to modify for special applications.